/******************************************************

MATRIX CLASS (Slo-Tech)

******************************************************/

#ifndef MATRIX_H
#define MATRIX_H

#include <stdlib.h>

template <class TMP>
class Matrix
{
public:  
	Matrix::Matrix()
	{
	}
	void Matrix::make(int nrows,int ncols)
	{
		a_=(TMP**)malloc(nrows*sizeof(TMP*)+nrows*ncols*sizeof(TMP));
		a_[0]=(TMP*)(a_+nrows);
		for(int i=1;i<nrows;i++)
			a_[i]=a_[0]+i*ncols;
	}
	Matrix::~Matrix()
	{
		free(a_);
	}
	TMP*& operator[](int row)
	{
		return a_[row];
	}
private:
	TMP** a_;
};

#endif
